업그레이드¶
CUBRID 9.0 Beta에서 CUBRID 9.1로 업그레이드하기¶
CUBRID 9.0 Beta 버전 사용자는 CUBRID 9.1 버전을 별도의 디렉터리에 설치한 후 기존의 환경 설정 파일에서 파라미터들의 값을 다음과 같이 변경해야 한다.
cubrid.conf
- sort_buffer_size의 최대 크기를 2G로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.
cubrid_broker.conf
- KEEP_CONNECTION에서 OFF 설정이 제거되었으므로 이전 버전에서 OFF로 설정한 경우 ON 또는 AUTO로 변경해야 한다.
- SELECT_AUTO_COMMIT이 제거되었으므로 이전 버전에서 이 파라미터의 설정을 제거해야 한다.
- APPL_SERVER_MAX_SIZE_HARD_LIMIT의 최대값을 2,097,151으로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.
환경 변수
CUBRID_LANG이 제거되고, CUBRID_CHARSET으로 데이터베이스의 문자셋을, CUBRID_MSG_LANG으로 유틸리티 메시지 및 오류 메시지의 문자셋을 설정하게 되었다.
Warning
데이터베이스를 생성할 때 CUBRID_CHARSET(설치 시 기본값 en_US, ISO-88591 문자셋 사용)을 반드시 지정해야 하며, 문자셋에 따라 문자열 타입의 크기, 문자열 비교 연산 등에 영향을 끼친다. 데이터베이스 생성 시 지정된 문자셋은 변경할 수 없으므로 지정에 주의해야 한다.
문자셋, 로캘 및 콜레이션 설정과 관련된 자세한 내용은 다국어 지원을 참고한다.
보다 자세한 설명은 기본 설정 변경 절을 참고한다.
9.1 버전과 9.0 Beta 버전 사이에 DB 볼륨이 호환되지 않으므로, CUBRID 9.1 설치 이후 기존의 DB 볼륨을 9.1용으로 반드시 변환해야 한다.
DB 마이그레이션은 DB 마이그레이션 절차 절을 참고한다.
CUBRID 2008 R4.1, R4.3에서 CUBRID 9.1로 업그레이드하기¶
CUBRID 2008 R4.1, R4.3 버전 사용자는 CUBRID 9.1 버전을 별도의 디렉터리에 설치한 후 기존의 환경 설정 파일에서 파라미터들의 값을 다음과 같이 변경해야 한다.
cubrid.conf
- sort_buffer_size의 최대 크기를 2G로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.
- single_byte_compare 파라미터는 더 이상 사용하지 않으므로 삭제해야 한다.
- intl_mbs_support 파라미터는 더 이상 사용하지 않으므로 삭제해야 한다.
- lock_timeout_message_type 파라미터는 더 이상 사용하지 않으므로 삭제해야 한다.
cubrid_broker.conf
- KEEP_CONNECTION에서 OFF 설정이 제거되었으므로 이전 버전에서 OFF로 설정한 경우 ON 또는 AUTO로 변경해야 한다.
- SELECT_AUTO_COMMIT이 제거되었으므로 이전 버전에서 이 파라미터의 설정을 제거해야 한다.
- APPL_SERVER_MAX_SIZE_HARD_LIMIT의 최대값을 2,097,151으로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.
cubrid_ha.conf
- ha_apply_max_mem_size 파라미터의 값을 500보다 크게 설정한 사용자는 이 값을 500 이하로 설정해야 한다.
환경 변수
CUBRID_LANG이 제거되고, CUBRID_CHARSET으로 데이터베이스의 문자셋을, CUBRID_MSG_LANG으로 유틸리티 메시지 및 오류 메시지의 문자셋을 설정하게 되었다.
Warning
데이터베이스를 생성할 때 CUBRID_CHARSET(설치 시 기본값 en_US, ISO-88591 문자셋 사용)을 반드시 지정해야 하며, 문자셋에 따라 문자열 타입의 크기, 문자열 비교 연산 등에 영향을 끼친다. 데이터베이스 생성 시 지정된 문자셋은 변경할 수 없으므로 지정에 주의해야 한다.
문자셋, 로캘 및 콜레이션 설정과 관련된 자세한 내용은 다국어 지원을 참고한다.
보다 자세한 설명은 기본 설정 변경 절을 참고한다.
환경 설정 이후 DB 마이그레이션은 DB 마이그레이션 절차 절을 참고한다.
CURBID 2008 R4.0 이하 버전에서 CUBRID 9.1로 업그레이드하기¶
CUBRID 2008 R4.0 이하 버전 사용자는 CUBRID 9.1 버전을 별도의 디렉터리에 설치한 후 기존의 환경 설정 파일에서 파라미터들의 값을 다음과 같이 변경해야 한다.
cubrid.conf
- sort_buffer_size의 최대 크기를 2G로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.
- single_byte_compare 파라미터는 더 이상 사용하지 않으므로 삭제해야 한다.
- intl_mbs_support 파라미터는 더 이상 사용하지 않으므로 삭제해야 한다.
- lock_timeout_message_type 파라미터는 더 이상 사용하지 않으므로 삭제해야 한다.
- thread_stacksize의 기본값이 100K에서 1M으로 변경되었으므로, 이 값을 설정하지 않은 사용자는 CUBRID 관련 프로세스들의 메모리 사용량을 살펴볼 것을 권장한다.
- data_buffer_size의 최소값이 64K에서 16M으로 변경되었으므로, 이 값을 16M 미만으로 설정한 사용자는 16M 이상으로 설정해야 한다.
cubrid_broker.conf
- KEEP_CONNECTION에서 OFF 설정값이 제거되었으므로 이전 버전에서 OFF로 설정한 경우 ON 또는 AUTO로 변경해야 한다.
- SELECT_AUTO_COMMIT이 제거되었으므로 이전 버전에서 이 파라미터의 설정을 제거해야 한다.
- APPL_SERVER_MAX_SIZE_HARD_LIMIT의 최대값을 2,097,151으로 제한했으므로 이 값보다 크게 설정하지 않아야 한다.
- APPL_SERVER_MAX_SIZE_HARD_LIMIT의 최소값이 1024M이다. APPL_SERVER_MAX_SIZE의 값을 설정하는 사용자는 APPL_SERVER_MAX_SIZE_HARD_LIMIT의 값보다 작게 설정할 것을 권장한다.
- CCI_DEFAULT_AUTOCOMMIT의 기본값이 ON으로 변경되었으므로, 이를 설정하지 않은 응용 프로그램 사용자가 기존과 같은 자동 커밋 모드를 유지하고 싶다면 OFF로 설정해야 한다.
cubrid_ha.conf
- ha_apply_max_mem_size 파라미터의 값을 500 이상으로 설정한 사용자는 이 값을 500 이하로 설정해야 한다.
환경 변수
CUBRID_LANG이 제거되고, CUBRID_CHARSET으로 데이터베이스의 문자셋을, CUBRID_MSG_LANG으로 유틸리티 메시지 및 오류 메시지의 문자셋을 설정하게 되었다.
Warning
데이터베이스를 생성할 때 CUBRID_CHARSET(설치 시 기본값 en_US, ISO-88591 문자셋 사용)을 반드시 지정해야 하며, 문자셋에 따라 문자열 타입의 크기, 문자열 비교 연산 등에 영향을 끼친다. 데이터베이스 생성 시 지정된 문자셋은 변경할 수 없으므로 지정에 주의해야 한다.
문자셋, 로캘 및 콜레이션 설정과 관련된 자세한 내용은 다국어 지원을 참고한다.
보다 자세한 설명은 기본 설정 변경 절을 참고한다.
환경 설정 이후 DB 마이그레이션은 DB 마이그레이션 절차 절을 참고한다.
업그레이드 주의 사항¶
기존 환경 설정 파일 보관
- 이전 버전의 $CUBRID/conf 디렉터리의 환경 설정 파일(cubrid.conf, cubrid_broker.conf, cm.conf)과 $CUBRID_DATABASES 디렉터리의 DB 위치 정보 파일(databases.txt)을 보관한다.
새로 추가된 예약어 검사
- CUBRID 설치 패키지에 포함 또는 http://ftp.cubrid.org에서 배포되는 CUBRID 9.1 버전용 예약어 검출 스크립트인 check_reserved.sql을 이용하여 예약어 사용 여부를 검사할 수 있으며, 예약어로 지정된 식별자를 사용하고 있을 경우 식별자를 수정해야 한다. 식별자 절을 참고한다.
환경 변수 CUBRID_CHARSET, CUBRID_MSG_LANG 설정
- CUBRID_LANG 환경 변수는 더 이상 사용되지 않으며, 데이터베이스를 생성하거나 구동할 때 CUBRID_CHARSET 환경 변수를 통해 어떤 문자셋을 사용할지 결정하므로 CUBRID_CHARSET 환경 변수를 반드시 설정해야 한다. 유틸리티 메시지 및 오류 메시지를 출력할 때는 CUBRID_MSG_LANG 환경 변수를 사용하며 설정하지 않으면 CUBRID_CHARSET을 따른다.
스키마 변환
- 9.0 Beta 이전 버전에서 ISO-8859-1이 아닌 EUC-KR, UTF-8 문자셋을 사용하던 사용자는 스키마를 반드시 변경해야 한다. 9.0 Beta 이전 버전에서는 CHAR, VARCHAR의 자릿수(precision)를 바이트 크기로 지정했으나 9.0 Beta 버전부터는 글자의 개수로 지정한다.
시스템 로캘 추가
- 추가하고 싶은 시스템 로캘이 있는 경우 $CUBRID/conf/cubrid_locales.txt 파일에 해당 로캘을 추가한 후 make_locale 스크립트를 실행한다. 로캘 설정 을 참고한다.
DB 마이그레이션¶
- CUBRID 9.1은 CUBRID 9.0 Beta와 DB 볼륨이 호환되지 않으므로, migrate_90beta_to_91 유틸리티를 사용하여 DB를 마이그레이션해야 한다. 자세한 절차는 CUBRID 9.0 Beta에서 CUBRID 9.1로 마이그레이션 절을 참고하면 된다.
- CUBRID 2008 R4.x 및 그 이전 버전과 DB 볼륨이 호환되지 않으므로, cubrid unloaddb/loaddb 유틸리티를 사용하여 DB를 마이그레이션해야 한다. 자세한 절차는 CUBRID 9.0 Beta 이전 버전에서 CUBRID 9.1로 마이그레이션 절을 참고하면 된다.
- CUBRID 2008 R3.1부터 GLO를 지원하지 않으며 LOB 타입이 GLO 기능을 대체하게 되었으므로, GLO를 이용한 응용 및 스키마는 LOB 타입에 맞게 수정해야 한다(아래의 GLO 클래스 사용자의 마이그레이션 참고).
복제 또는 HA 환경 재구성¶
- CUBRID 2008 R4.0부터는 복제 기능을 더 이상 지원하지 않으므로, 이전의 복제 기능을 사용하는 시스템에서는 DB 마이그레이션 이후 HA 환경으로 재구성할 것을 권장한다. 또한, CUBRID 2008 R2.0 및 R2.1에서 제공된 Linux Heartbeat 기반의 HA 기능을 사용하는 시스템도 보다 안정적인 운영을 위해 DB 마이그레이션 이후 CUBRID Heartbeat 기반의 HA 환경으로 재구성해야 한다. (아래의 HA 환경에서 DB 마이그레이션 절차 참고)
- HA 환경 구성은 매뉴얼의 CUBRID HA 를 참고하여 재설정해야 한다.
DB 마이그레이션 절차¶
CUBRID 9.0 Beta에서 CUBRID 9.1로 마이그레이션¶
CUBRID 9.0 Beta에서 DB를 마이그레이션하는 경우는 "migrate_90beta_to_91 <db_name>" 명령을 사용하여 다음의 절차대로 수행한다.
단계 | Linux 환경 | Windows 환경 |
---|---|---|
1 단계: CUBRID Service 종료 | % cubrid service stop | CUBRID Service Tray를 종료한다. |
2 단계: 예약어 검출 스크립트 실행 | 예약어 검출 스크립트가 위치하는 디렉터리에서 아래 명령을 실행한다. 검출 결과를 확인하여 마이그레이션 진행 또는 식별자 수정 작업을 진행한다.
|
|
3 단계: 이전 버전 DB 백업 | 이전 버전의 databases.txt 및 conf 디렉터리 내 설정 파일을 별도 디렉터리에 보관한다. (3a) cubrid backup 유틸리티를 실행하고 이때 생성된 파일을 별도 디렉터리에 보관한다. (3b)
|
|
이전 DB 볼륨은 그대로 유지한다. | 이전 버전의 CUBRID를 언인스톨한다. 이때, 이전 DB 볼륨은 그대로 유지한다. |
|
4 단계: 새 버전 설치 | 기존의 설치 위치와 같은 디렉터리에 설치한다. 설치와 실행 절을 참고한다. | |
5 단계: 데이터베이스 마이그레이션 | 이전 DB 볼륨을 가지고 유틸리티를 실행한다.
|
|
6 단계: CUBRID 환경 설정 및
|
환경 설정 파일을 수정한다. 이때, (3a)에서 보관한 이전 버전의 환경 설정 파일을 새 버전에 맞게 수정한다. (시스템 파라미터 설정은
|
CUBRID Service Tray> [Service Start]를 선택하여 서비스를 시작한다. 명령 프롬프트 창에서 DB 서버를 구동한다.
|
CUBRID 9.0 Beta 이전 버전에서 CUBRID 9.1로 마이그레이션¶
CUBRID 2008 R3.0 Beta 이하 사용자의 경우, 기존의 GLO 클래스를 사용하고 있는 경우에는 추가 작업이 필요하다(GLO 클래스 사용자의 마이그레이션 참고).
아래는 cubrid unloaddb/loaddb 유틸리티와 http://ftp.cubrid.org 에서 별도 배포되는 check_reserved.sql 예약어 검출 스크립트를 이용하여 마이그레이션을 수행하는 방법이다. (cubrid unloaddb/loaddb는 매뉴얼의 내보내기와 가져오기 참고)
단계 | Linux 환경 | Windows 환경 |
---|---|---|
C1 단계: CUBRID Service 종료 | % cubrid service stop | CUBRID Service Tray를 종료한다. |
C2 단계: 예약어 검출 스크립트 실행 | 예약어 검출 스크립트가 위치하는 디렉터리에서 아래 명령을 실행한다. 검출 결과를 확인하여 마이그레이션 진행 또는 식별자 수정 작업을 진행한다.
|
|
C3 단계: 이전 버전 DB 언로드 | 이전 버전의 databases.txt 및 conf 디렉터리 내 설정 파일을 별도 디렉터리에 보관한다. (C3a) cubrid unloaddb 유틸리티를 실행하고 이때 생성된 파일을 별도 디렉터리에 보관한다. (C3b)
기존 DB를 삭제한다. (C3c)
|
|
C4 단계: 새 버전 설치 | 설치 방법은 설치와 실행 절을 참고한다. | |
C5 단계: DB 생성 및 데이터 로딩 | DB를 생성할 디렉터리로 이동한 후, DB를 생성한다. (C5a)
(C3b)에서 보관한 파일을 가지고 cubrid loaddb 유틸리티를 실행한다. (C5b)
|
|
C6 단계: 새 버전 DB 백업 | % cubrid backupdb -S testdb | |
C7 단계: CUBRID 환경 설정 및
|
환경 설정 파일을 수정한다. 이때, (C3a)에서 보관한 이전 버전의 환경 설정 파일을 새 버전에 맞게 수정한다. (시스템 파라미터 설정은
|
CUBRID Service Tray> [Service Start]를 선택하여 서비스를 시작한다. 명령 프롬프트 창에서 DB 서버를 구동한다.
|
GLO 클래스 사용자의 마이그레이션¶
GLO 클래스를 사용하는 경우, CUBRID 2008 R3.1부터는 GLO 클래스를 지원하지 않으므로 BLOB 또는 CLOB 타입을 사용하도록 응용과 스키마를 변경해야 한다. 변경 작업이 용이하지 않다면 마이그레이션을 보류할 것을 권장한다.
HA 환경에서 DB 마이그레이션 절차¶
CUBRID 2008 R2.2 이상 버전에서 CUBRID 9.1로 HA 마이그레이션¶
아래는 브로커, 마스터 DB, 슬레이브 DB를 각각 별도 서버에 구축한 환경에서 현재 서비스를 중지하고 업그레이드를 수행하기 위한 절차이다.
단계 | 설명 |
---|---|
H1~H6 단계: 마스터 노드에서 C1~C6 단계를 수행 | 마스터 노드에서 CUBRID 업그레이드 및 DB 마이그레이션을 수행하고, 새 버전의 DB를 백업한다. |
H7 단계: 슬레이브 서버에 CUBRID 새 버전 설치 | 슬레이브 서버에서 이전 버전의 DB는 삭제하고, 새 버전을 설치한다. 설치 방법은 설치와 실행 절을 참고한다. |
H8 단계: 마스터 노드 백업본을 슬레이브 서버에서 복구 | H6 단계에서 생성된 마스터 노드의 새 버전 DB 백업본(예: testdb_bk*)을 슬레이브 서버에서 복구한다.
|
H9 단계: HA 환경 재구성 후 HA모드 구동 | 마스터 및 슬레이브 서버에서 CUBRID 환경 설정 파일(cubrid.conf) 및 HA 환경 설정 파일(cubrid_ha.conf)을 설정한다. (데이터베이스 생성 및 서버 설정 참고) |
H10 단계: 브로커 서버에 새 버전 설치 및 브로커 구동 | 설치 방법은 설치와 실행 절을 참고한다. 브로커 서버에 있는 브로커를 시작한다. (브로커 설정, 시작 및 확인 참고)
|
CUBRID 2008 R2.0 또는 R2.1에서 CUBRID 9.1로 HA 마이그레이션¶
CUBRID 2008 R2.0 또는 R2.1의 HA 기능을 사용하는 경우, 서버 버전 업그레이드, DB 마이그레이션을 수행하고 HA 환경을 새롭게 구축한 후 해당 버전에서 사용되었던 Linux Heartbeat 자동 시작 설정을 변경해야 한다. (Linux Heartbeat 패키지가 불필요한 경우 삭제한다.)
위의 H1~H10 단계를 수행한 후, 아래의 H11 단계를 수행한다.
단계 | 설명 |
---|---|
H11 단계: 기존 Linux heartbeat 자동 시작 설정 변경 | 이하의 작업은 마스터 및 슬레이브 서버에서 root 계정으로 수행한다.
|